package cn.iocoder.yudao.module.project.controller.admin.orderdetail.vo;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 生产订单详情分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrderDetailPageReqVO extends PageParam {
    @Schema(description = "产品编号", example = "23488")
    private String id;

    @Schema(description = "产品名称", example = "王五")
    private String name;

    @Schema(description = "partID", example = "23488")
    private String partId;

    @Schema(description = "型号")
    private String flex;

    @Schema(description = "长度")
    private Double len;

    @Schema(description = "JR/INT/SR", example = "1")
    private String type;

    @Schema(description = "数量")
    private Long num;

    @Schema(description = "C课交期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String expiryDate;

    @Schema(description = "EAN CODE")
    private String eanCode;

    @Schema(description = "图档名")
    private String drawing;

    @Schema(description = "面漆")
    private String topcoat;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "订单编号")
    @NotNull(message = "订单编号不能为空")
    private String orderCode;

    // 根据生产订单总信息查,2024.10.02
    @Schema(description = "到货点")
    private String arrivalPoint;

    @Schema(description = "出货方式")
    private String deliveryMode;

    @Schema(description = "厂长")
    private String manager;

    @Schema(description = "开发业务", example = "李四")
    private String businessName;

    @Schema(description = "业务")
    private String operator;

    @Schema(description = "备注", example = "你猜")
    private String remark;

    @Schema(description = "订单日期")
    // @JsonFormat(pattern=FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    // @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate orderDate;

    @Schema(description = "订单数量")
    private Integer orderNumber;

    @Schema(description = "形状")
    private String shape;

    @Schema(description = "前段抽测")
    private String frontSpotCheck;

    @Schema(description = "内仁/肩膀造型")
    private String armholeShoulderInspection;

    @Schema(description = "后段抽测")
    private String backSpotCheck;

    @Schema(description = "详情信息json")
    private String detailInfoJson;

    @Schema(description = "型号全名")
    private String fullFlexName;

    /**
     * 拨交日期
     */
    private String[] deliveryDate;

    private String startDate;

    private String endDate;
}